// 订单状态
export const ORDER_STATUS = {
  PENDING: {
    value: 'pending',
    label: '待处理',
    color: '#faad14'
  },
  PROCESSING: {
    value: 'processing',
    label: '处理中',
    color: '#1890ff'
  },
  COMPLETED: {
    value: 'completed',
    label: '已完成',
    color: '#52c41a'
  },
  CANCELLED: {
    value: 'cancelled',
    label: '已取消',
    color: '#999999'
  }
}

// 支付方式
export const PAYMENT_METHOD = {
  WECHAT: {
    value: 'wechat',
    label: '微信支付',
    icon: 'fab fa-weixin'
  },
  ALIPAY: {
    value: 'alipay',
    label: '支付宝',
    icon: 'fab fa-alipay'
  },
  CARD: {
    value: 'card',
    label: '银行卡',
    icon: 'fas fa-credit-card'
  }
}

// 菜品状态
export const DISH_STATUS = {
  ACTIVE: {
    value: 'active',
    label: '上架',
    color: '#52c41a'
  },
  INACTIVE: {
    value: 'inactive',
    label: '下架',
    color: '#ff4d4f'
  }
}

// 分类状态
export const CATEGORY_STATUS = {
  ACTIVE: {
    value: 'active',
    label: '启用',
    color: '#52c41a'
  },
  INACTIVE: {
    value: 'inactive',
    label: '禁用',
    color: '#ff4d4f'
  }
}

// 图片上传配置
export const UPLOAD_CONFIG = {
  // 支持的图片格式
  ACCEPT: '.jpg,.jpeg,.png,.gif',
  // 最大文件大小（2MB）
  MAX_SIZE: 2 * 1024 * 1024,
  // 图片尺寸限制
  IMAGE_SIZE: {
    DISH: {
      width: 800,
      height: 600
    },
    AVATAR: {
      width: 200,
      height: 200
    },
    LOGO: {
      width: 200,
      height: 200
    }
  }
}

// 分页配置
export const PAGINATION = {
  // 每页显示条数选项
  PAGE_SIZES: [10, 20, 50, 100],
  // 默认每页显示条数
  DEFAULT_PAGE_SIZE: 20,
  // 页码按钮的数量
  PAGER_COUNT: 7
}

// 日期选择快捷选项
export const DATE_SHORTCUTS = [
  {
    text: '最近一周',
    value: () => {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
      return [start, end]
    }
  },
  {
    text: '最近一个月',
    value: () => {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
      return [start, end]
    }
  },
  {
    text: '最近三个月',
    value: () => {
      const end = new Date()
      const start = new Date()
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
      return [start, end]
    }
  }
]

// 图表颜色配置
export const CHART_COLORS = {
  // 主题色
  PRIMARY: '#1890ff',
  // 成功色
  SUCCESS: '#52c41a',
  // 警告色
  WARNING: '#faad14',
  // 错误色
  ERROR: '#ff4d4f',
  // 文本色
  TEXT: '#333333',
  // 辅助色
  SECONDARY: '#999999',
  // 边框色
  BORDER: '#e8e8e8',
  // 背景色
  BACKGROUND: '#f5f5f5',
  // 图表配色方案
  PALETTE: [
    '#1890ff',
    '#52c41a',
    '#faad14',
    '#f5222d',
    '#722ed1',
    '#13c2c2',
    '#eb2f96',
    '#fa8c16'
  ]
}

// 本地存储键名
export const STORAGE_KEYS = {
  TOKEN: 'token',
  USER_INFO: 'userInfo',
  SETTINGS: 'settings',
  THEME: 'theme'
}

// 响应式断点
export const BREAKPOINTS = {
  xs: 480,
  sm: 576,
  md: 768,
  lg: 992,
  xl: 1200,
  xxl: 1600
}

// 主题配置
export const THEME = {
  // 主色
  PRIMARY_COLOR: '#1890ff',
  // 成功色
  SUCCESS_COLOR: '#52c41a',
  // 警告色
  WARNING_COLOR: '#faad14',
  // 错误色
  ERROR_COLOR: '#ff4d4f',
  // 链接色
  LINK_COLOR: '#1890ff',
  // 标题色
  HEADING_COLOR: '#333333',
  // 主文本色
  TEXT_COLOR: '#666666',
  // 次文本色
  TEXT_COLOR_SECONDARY: '#999999',
  // 禁用色
  DISABLED_COLOR: '#cccccc',
  // 边框色
  BORDER_COLOR: '#d9d9d9',
  // 背景色
  BACKGROUND_COLOR: '#f5f5f5',
  // 阴影
  BOX_SHADOW: '0 2px 8px rgba(0, 0, 0, 0.15)'
}

export default {
  ORDER_STATUS,
  PAYMENT_METHOD,
  DISH_STATUS,
  CATEGORY_STATUS,
  UPLOAD_CONFIG,
  PAGINATION,
  DATE_SHORTCUTS,
  CHART_COLORS,
  STORAGE_KEYS,
  BREAKPOINTS,
  THEME
} 